
package roborally.script;

import roborally.model.Robot;

import be.kuleuven.cs.som.annotate.*;
import be.kuleuven.cs.som.taglet.*;

/**
 * @author Joren VERSPEURT
 * @author Mathieu REYMOND
 * @version 3.0
 * 
 * The superclass for all conditions possible in RoboRally. This includes ComposedCondition and SingleCondition.
 */
public abstract class Condition extends Statement {
	
	/**
	 * Create a new Condition with a given Robot.
	 * @param robot The Robot this Condition will apply to.
	 */
	protected Condition(Robot robot){
		super(robot);
		
	}
	
	/**
	 * A method that checks if the condition is true.
	 * @return The condition's state (<code>true</code> if the condition is true, <code>false</code> otherwise).
	 */
	public abstract boolean isTrue();

}
